home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / music / midimovr.zoo / midimovr.doc next >
Text File  |  1992-07-18  |  27KB  |  590 lines

  1. Introduction to MidiMover
  2. -------------------------
  3.  
  4. This file explains the use of MidiMover, Hybrid Arts' MIDI File converter.
  5. MidiMover can convert between Hybrid's .SNG files and the "MIDI File 1.0"
  6. standard.  It supports both format 0 and format 1 MIDI Files, and can in
  7. fact be used to convert between those two formats.  It also reads MacBinary
  8. (some MIDI Files uploaded by Mac users) that some other MIDI File converters
  9. may not handle, and can convert these to standard data files that non-Mac
  10. computers (including the ST) use.
  11.  
  12. All the MIDI File conversion features of MidiMover are also found in the
  13. Official Release Version of the MidiTrack ST Series sequencers (SmpteTrack,
  14. SyncTrack, and EditTrack).  In fact, MidiMover is simply a modified version
  15. of MidiTrack ST, with only the functions needed for converting MIDI Files
  16. retained, along with a simple playback capability.
  17.  
  18. Please include this documentation if you want to give MidiMover to anyone
  19. you know (MidiMover is technically not "public domain", being Copyright
  20. 1986/89 Hybrid Arts Inc, but we give you permission to distribute it
  21. freely; consider it "freeware"!).  Portions of this file are included in
  22. Appendix C which is supplied with the Official Release Version update of
  23. the MidiTrack ST Series sequencers.
  24.  
  25. This file has been formatted for either Showing or Printing.  When printed
  26. it will automatically skip perforations (if you use standard 66-line pages).
  27.  
  28.  
  29.  
  30. What Are MIDI Files?
  31. --------------------
  32.  
  33. MIDI itself, as sent along MIDI cables, is a standard that has been agreed
  34. upon by many manfucturers.  You can interconnect most keyboards and other
  35. instruments using MIDI and they will "talk" to each other, "understanding"
  36. the same language.
  37.  
  38. But when a sequencer records MIDI information on a computer, there are
  39. many things it needs to keep track of in addition to the MIDI events,
  40. such as _when_ the events should be played back, how they are organized
  41. into tracks, what the tempo of the song is, which tracks you want muted
  42. or protected, etc.  Different sequencers need to store different amounts
  43. and kinds of information, and so each sequencer uses a different file
  44. format.  You can not, in general, take a file created with one brand
  45. of sequencer and read it into another brand of sequencer, even if both
  46. sequencers use the same kinds of data disks, because each sequencer
  47. expects the information in the file to be organized differently.
  48.  
  49. So it used to be that, if you wanted to transfer a song between two
  50. different sequencers, the only way you could do it was to run each
  51. sequencer on a separate computer, connect the two computers with MIDI
  52. cables, and simply _play_ the song in one sequencer while _recording_
  53. it in real time on the other sequencer.  Even if you have the two
  54. computers handy, this can be a time-consuming procedure.  And most
  55. people don't have multiple computers just sitting around waiting to
  56. be used for such sequencer-to-sequencer transfers!
  57.  
  58. Now, however, with the arrival of MIDI Files, transferring songs
  59. between many sequencers is much simpler.  You simply _save_ the song
  60. to disk _as a MIDI File_ in one sequencer, and _load_ the song in
  61. MIDI File format into the other sequencer!
  62.  
  63.  
  64.  
  65.  
  66.  
  67. "MIDI Files" is the official name for the sequencer file standard, which
  68. was first developed by Dave Oppenheim of Opcode Systems on the Macintosh,
  69. and has now been approved by the MIDI Manufacturers' Assocation (MMA),
  70. the organization that maintains the MIDI Spec.  Most sequencer developers
  71. have added (or are in the process of adding) MIDI File support for their
  72. programs, either through capabilities built into the program or through
  73. separate conversion utilities.  Hybrid Arts has done both:  the MidiTrack
  74. ST Series programs (SmpteTrack, SyncTrack, and EditTrack) have MIDI File
  75. conversion built-in; there is also a free separate conversion program
  76. called MidiMover, for users of the other Hybrid Arts programs that use
  77. .SNG files, such as EZ-Track Plus, EZ-Score Plus, and Ludwig.
  78.  
  79.  
  80. An important point needs to be made here:  MIDI Files are intended as a
  81. sequencer _interchange_ format only.  That is, they are specifically
  82. designed for the purpose of moving information from one sequencer to
  83. another.  Thus they deal only with the most common type of information
  84. that is likely to be used by most sequencers, such as MIDI data, tempos,
  85. etc.  They do not deal with types of information which tend to be specific
  86. to the design of a particular sequencer, such as the way tracks are
  87. numbered, mute settings, loops, synchronization type, etc.
  88.  
  89. It is not intended that MIDI Files be used as the _native_ method of
  90. storage in a particular program, except perhaps some programs whose main
  91. function is to create data for use by other programs rather than for later
  92. use by that same program.  (In fact, many sequencers use the terms Import
  93. and Export to refer to saving and loading MIDI Files.  Hybrid Arts simply
  94. calls it Saving and Loading MIDI Files, as opposed to Song Files, since
  95. Hybrid's sequencers use the term Import for another meaning -- Importing
  96. a single Track from another Song File.)
  97.  
  98.  
  99.  
  100. MIDI File Formats
  101. -----------------
  102.  
  103. MIDI Files come in three possible formats:  format 0, 1, or 2.
  104.  
  105. Format 0 is one single track representing the whole song.  This is the
  106. most common-denominator form of interchange.  It is analogous to
  107. interconnecting two computers by MIDI cables and playing the whole
  108. song from one sequencer into the other and saving it as one track.
  109. Assuming the receiving sequencer has unmix-by-channel capabilities,
  110. that track can, of course, be later split into multiple tracks.
  111.  
  112. Format 1 is multiple tracks intended to play at the same time.  This
  113. format most closely matches linear (not pattern-oriented) multi-track
  114. sequencers.  In the interconnected-computers analogy, this is like
  115. playing each track soloed in the sending sequencer and recording it
  116. as a separate track in the receiving sequencer.
  117.  
  118. Format 2 is single-track patterns intended to play one after the other.
  119. This format is intended for pattern-oriented sequencers.
  120.  
  121.  
  122. Almost all programs that support MIDI Files support at least format 0.
  123. Many multi-track sequencers (even some pattern-oriented sequencers
  124. that have multiple tracks in each pattern) also support format 1.
  125. Few if any sequencers to date support format 2.
  126.  
  127. MidiMover supports both format 0 and format 1.
  128.  
  129.  
  130.  
  131.  
  132.  
  133. What Is Included in a MIDI File?
  134. --------------------------------
  135.  
  136. A format 0 file contains all the information in one track.  A format 1
  137. file contains all tempo/meter information (plus SMPTE start time, if
  138. applicable) in the first track, and all MIDI information in one or
  139. more tracks that follow.
  140.  
  141.  
  142. At the beginning of a MIDI File is a number called _division_ which
  143. indicates how many _ticks per quarter note_ are used when representing
  144. the time at which each MIDI event is sent.  Hybrid Arts sequencers use
  145. 96 ticks per quarter note, and MidiMover writes MIDI Files with that
  146. division value.  As long as you send MIDI Files between sequencers that
  147. have the same division value (in this case, between sequencers using 96
  148. ticks per quarter note), you will not lose any resolution in the transfer.
  149. If you send a MIDI File between sequencers that have different division
  150. values, then only the resolution of the lower-resolution sequencer will
  151. be maintained.
  152.  
  153. For example, if you send data from a 24-tick sequencer into MidiTrack
  154. ST, you can only end up with events at ticks such as .00, .04, .08, etc.
  155. If you send data from MidiTrack ST _into_ a 24-tick sequencer, you will
  156. effectively be _quantizing_ the whole track slightly, as the events will
  157. be placed on ticks which correspond to .00, .04, .08, etc.  (If the
  158. divisions of the two sequencers are not divisible by each other, such
  159. as going between a 96-tick and a 120-tick sequencer, some additional
  160. one-tick errors may occur in a back-and-forth conversion.  This will
  161. not be cumulative, however, if you write and read the MIDI File several
  162. times.)
  163.  
  164.  
  165. In the first (tempo/meter) track of a format 1 MIDI Fil